﻿using System;

namespace SharpSqlAnalyzer.nodes.hive
{
	// Token: 0x0200042B RID: 1067
	public class THiveTransformClause : TParseTreeNode
	{
		// Token: 0x17000979 RID: 2425
		// (get) Token: 0x06002929 RID: 10537 RVA: 0x0033D49F File Offset: 0x0033B69F
		// (set) Token: 0x06002928 RID: 10536 RVA: 0x0033D496 File Offset: 0x0033B696
		public virtual THiveTransformClause.ETransformType TransformType
		{
			get
			{
				return this.transformType;
			}
			set
			{
				this.transformType = value;
			}
		}

		// Token: 0x1700097A RID: 2426
		// (get) Token: 0x0600292A RID: 10538 RVA: 0x0033D4A7 File Offset: 0x0033B6A7
		// (set) Token: 0x0600292B RID: 10539 RVA: 0x0033D4AF File Offset: 0x0033B6AF
		public virtual TAliasClause AliasClause
		{
			get
			{
				return this.aliasClause;
			}
			set
			{
				this.aliasClause = value;
			}
		}

		// Token: 0x1700097B RID: 2427
		// (get) Token: 0x0600292C RID: 10540 RVA: 0x0033D4B8 File Offset: 0x0033B6B8
		// (set) Token: 0x0600292D RID: 10541 RVA: 0x0033D4C0 File Offset: 0x0033B6C0
		public virtual TExpressionList ExpressionList
		{
			get
			{
				return this.expressionList;
			}
			set
			{
				this.expressionList = value;
			}
		}

		// Token: 0x1700097C RID: 2428
		// (get) Token: 0x0600292E RID: 10542 RVA: 0x0033D4C9 File Offset: 0x0033B6C9
		public virtual TSourceToken UsingString
		{
			get
			{
				return this.usingString;
			}
		}

		// Token: 0x1700097D RID: 2429
		// (get) Token: 0x0600292F RID: 10543 RVA: 0x0033D4D1 File Offset: 0x0033B6D1
		// (set) Token: 0x06002930 RID: 10544 RVA: 0x0033D4D9 File Offset: 0x0033B6D9
		public virtual THiveRecordWriter InRecordWriter
		{
			get
			{
				return this.inRecordWriter;
			}
			set
			{
				this.inRecordWriter = value;
			}
		}

		// Token: 0x1700097E RID: 2430
		// (get) Token: 0x06002931 RID: 10545 RVA: 0x0033D4E2 File Offset: 0x0033B6E2
		// (set) Token: 0x06002932 RID: 10546 RVA: 0x0033D4EA File Offset: 0x0033B6EA
		public virtual THiveRowFormat InRowFormat
		{
			get
			{
				return this.inRowFormat;
			}
			set
			{
				this.inRowFormat = value;
			}
		}

		// Token: 0x1700097F RID: 2431
		// (get) Token: 0x06002933 RID: 10547 RVA: 0x0033D4F3 File Offset: 0x0033B6F3
		// (set) Token: 0x06002934 RID: 10548 RVA: 0x0033D4FB File Offset: 0x0033B6FB
		public virtual THiveRecordReader OutRecordReader
		{
			get
			{
				return this.outRecordReader;
			}
			set
			{
				this.outRecordReader = value;
			}
		}

		// Token: 0x17000980 RID: 2432
		// (get) Token: 0x06002935 RID: 10549 RVA: 0x0033D504 File Offset: 0x0033B704
		// (set) Token: 0x06002936 RID: 10550 RVA: 0x0033D50C File Offset: 0x0033B70C
		public virtual THiveRowFormat OutRowFormat
		{
			get
			{
				return this.outRowFormat;
			}
			set
			{
				this.outRowFormat = value;
			}
		}

		// Token: 0x06002937 RID: 10551 RVA: 0x0033D518 File Offset: 0x0033B718
		public override void init(object arg1, object arg2, object arg3, object arg4, object arg5, object arg6)
		{
			this.expressionList = (TExpressionList)arg1;
			this.inRowFormat = (THiveRowFormat)arg2;
			this.inRecordWriter = (THiveRecordWriter)arg3;
			this.usingString = (TSourceToken)arg4;
			this.outRowFormat = (THiveRowFormat)arg5;
			this.outRecordReader = (THiveRecordReader)arg6;
		}

		// Token: 0x06002938 RID: 10552 RVA: 0x0033D570 File Offset: 0x0033B770
		public override void accept(TParseTreeVisitor v)
		{
			v.preVisit(this);
			v.postVisit(this);
		}

		// Token: 0x06002939 RID: 10553 RVA: 0x0033D580 File Offset: 0x0033B780
		public override void acceptChildren(TParseTreeVisitor v)
		{
			v.preVisit(this);
			v.postVisit(this);
		}

		// Token: 0x04001E97 RID: 7831
		private THiveTransformClause.ETransformType transformType;

		// Token: 0x04001E98 RID: 7832
		private TExpressionList expressionList;

		// Token: 0x04001E99 RID: 7833
		private TSourceToken usingString;

		// Token: 0x04001E9A RID: 7834
		private THiveRowFormat inRowFormat;

		// Token: 0x04001E9B RID: 7835
		private THiveRowFormat outRowFormat;

		// Token: 0x04001E9C RID: 7836
		private THiveRecordWriter inRecordWriter;

		// Token: 0x04001E9D RID: 7837
		private THiveRecordReader outRecordReader;

		// Token: 0x04001E9E RID: 7838
		private TAliasClause aliasClause;

		// Token: 0x02000454 RID: 1108
		public enum ETransformType
		{
			// Token: 0x040020A6 RID: 8358
			ettSelect,
			// Token: 0x040020A7 RID: 8359
			ettMap,
			// Token: 0x040020A8 RID: 8360
			ettReduce
		}
	}
}
